1. The Field of the Invention
The present invention relates to user interface rendering technology, and more specifically, to mechanisms for performing template-based customization of a user interface for use with a messaging application program.
2. Background and Related Art
Computing technology has revolutionized the way people work and play and has contributed enormously to the advancement of humankind. Computers aid in enumerable applications such as word processing, computer simulations, advanced gaming, voice recognition, among much more. Computing systems now come in a wide-variety of forms including, for example, desktop computers, laptop computers, tablet-form computers, Personal Digital Assistants (PDAs), and even mobile telephones and devices. Such computing systems are often capable of executing messaging application programs such as e-mail or instant messaging application programs.
When a software engineer drafts the source code for a user interface to be used in a messaging application program (e.g., e-mail or instant messaging) on a particular computing system or device (hereinafter both referred to as a “computing system”), the software engineer typically considers the display capabilities of the particular computing system. The software engineer may also consider the predicted needs and desires of the ultimate user of the messaging application program.
Consider, for example, a case in which the software engineer is drafting source code for an instant messaging application. When designing the conversation screen, the software engineer will typical endeavor to layout messaging information on the screen in a manner that is intuitive to the user. For example, there may be a conversation history portion of the display, a text entry portion where the user enters text for possible entry into the conversation, and a presence portion that lists the other participants' presence status (e.g., on-line, off-line, on the phone, or the like). While many computing systems have rich display capabilities, others are more restricted. Accordingly, the software engineer may be quite deliberative and judicious in laying out the display screen.
When drafting a similar instant messaging application program for another device or which has a somewhat different look to accommodate a different user preference, however, the software engineer will often recode the instant messaging application program or draft an entirely different messaging application entirely. As messaging application programs may be quite complex often involving many thousands or lines of interrelated source code, even minor changes to source code may introduce unanticipated deviations from ideal performance.
Accordingly, what would be advantageous are mechanisms that allow a messaging application program such as an e-mail or instant messaging application program to be adapted for use by a wide variety of different computing systems and for a wide variety of user display preferences or settings, without the substantial risk and cost associated with recoding the messaging application program.